Cryptext x64 0.5b final-rename test
======================================

0.5b keeps the complete on-disk verification from 0.5a, then adds the first
transactional commit step. The source is still opened read-only and ALWAYS kept.
The checkbox "Originaldatei beibehalten" is intentionally ignored in this build.

Expected path sequence
----------------------
During processing:
  source.ext.$#!.temp    (HIDDEN)

After successful verification:
  source.ext.$#!         (final)

The .$#!.temp name must no longer exist after success. The final name is never
overwritten. MoveFileExW is used without REPLACE_EXISTING and with WRITE_THROUGH.

Use the same four boundary files
--------------------------------
- 0 bytes
- 1 byte
- exactly 4 MiB
- exactly 4 MiB + 1 byte

Expected final encrypted sizes are unchanged:
- 0 bytes        -> 136 bytes
- 1 byte         -> 153 bytes
- 4 MiB          -> 4,194,456 bytes
- 4 MiB + 1 byte -> 4,194,473 bytes

Test procedure
--------------
1. Delete/rename any old .$#!.temp AND .$#! from previous tests.
2. Start Cryptext64.exe and enter any non-empty password.
3. Press OK and choose one disposable boundary file.
4. Expect "Dateitest 0.5b: OK".
5. Confirm the original still exists with the same size/content.
6. Confirm source.ext.$#! exists with the expected encrypted size.
7. Confirm source.ext.$#!.temp no longer exists.
8. Repeat for all four boundary sizes.

No-overwrite test
-----------------
After a successful run, repeat the same operation without deleting source.ext.$#!.
Cryptext must refuse the operation and must not overwrite the existing encrypted
file. The original source must remain unchanged.

Attribute note
--------------
The temp is hidden only while incomplete. After commit, the final .$#! receives
the source's basic READONLY/HIDDEN/SYSTEM/ARCHIVE state. Therefore an ordinary
visible source should produce an ordinary visible final .$#! file. Timestamp
restoration on the encrypted final file is not part of this 0.5b test yet.

Still NOT enabled
-----------------
- deleting the original
- honoring the keep-original checkbox
- standalone plaintext decryption/output
- Explorer shell integration
